﻿@model Subfaculty.ViewModels.AllocationCreateViewModel
@using Subfaculty.Helpers
@{
    ViewBag.Title = "Создание элемента раскладки";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@Html.ValidationSummary(true)
<fieldset class="main_fieldset">
<legend class="main_legend">Создание элемента раскладки</legend>


<script type="text/javascript">
    $(function () {
        initAllocationCreatePage();
    });

    // Инициализация диалогового окна для выбора элемента УП
    function initAllocationCreatePage() {
        $("#dialog:ui-dialog").dialog("destroy");
        $("#dialog_chooseSPIForm").dialog({
            autoOpen: false,
            height: 550,
            width: 1000,
            modal: true,
            buttons: {
                "Выбрать": function () {
                    var arr = $("input[id^='spi_radio_']:radio:checked").attr("id").split('_');
                    updateSPIItem(arr[2]);

                    $(this).dialog("close");
                },
                "Отмена": function () {
                    $(this).dialog("close");
                }
            }
        });
        $("#btn_chooseSPI")
			.button()
			.click(function () {
			    $("#dialog_chooseSPIForm").dialog("open");
			});
		$("#btn_create")
            .button();
		$("#btn_cancel")
			.button().click(function () { window.location = '@(Url.Action("Index"))'; });
        $("#curentDirection")
            .change(onChangeDirection);
    };

    // Обновление таблицы элементов УП при смене направления
    function onChangeDirection() {
        var directionId = $("#curentDirection").val();
        $("#tbl_SPIList").html("Подождите! Идет обновление... <img src='../../Content/themes/throbber.gif' />");
        $("#tbl_SPIList").load('@(Url.Action("ajaxGetSPIListByDirection"))/' + directionId);
    };

    // Обновление главного выбранного элемента УП
    function updateSPIItem(SPItemId) {
        $('#StudyPlanItem').attr('value', 'Подождите! Идет обновление...');
        $("#checkboxChooseGroups").html("<div align='center'>Подождите! Идет обновление... <img src='../../Content/themes/throbber.gif' /></div>");
        $("#checkboxChooseSPI").html("<div align='center'>Подождите! Идет обновление... <img src='../../Content/themes/throbber.gif' /></div>");
        $('#div_SPI').load('@(Url.Action("ajaxUpdateSPItem"))/' + SPItemId, function () { updateSPItemsList(SPItemId); });
    }

    // Обновление списка УП для объединения
    function updateSPItemsList(SPItemId) {
        $("#checkboxChooseSPI").html("<div align='center'>Подождите! Идет обновление... <img src='../../Content/themes/throbber.gif' /></div>");
        $("#checkboxChooseSPI").load('@(Url.Action("ajaxGetSameSPIList"))/' + SPItemId, function () { updateGroupList(); initChoseSPItemEvent(); });
    }

    // Обновление списка доступных групп
    function updateGroupList() {
        var SPItemId = $("#SPIhidden").val();
        var ChosenSPItemsStr = "";
        $("input[id^='spi_check_']:checked").each(function () { ChosenSPItemsStr += $(this).val() + '_'; });
        ChosenSPItemsStr += SPItemId;
        $("#checkboxChooseGroups").html("<div align='center'>Подождите! Идет обновление... <img src='../../Content/themes/throbber.gif' /></div>");
        $('#checkboxChooseGroups').load('@(Url.Action("ajaxUpdateGroupList"))/' + ChosenSPItemsStr);
    }

    // Событие объединения элементов УП разных направлений
    function initChoseSPItemEvent() {
        $("input[id^='spi_']").each(function () { $(this).change(function () { updateGroupList(); }) });
    }
</script>

<form action="@(Url.Action("Create"))" method="post">
    <div id='createAllocationWraper'>
        <div id='chooseSPI'>
            <fieldset>
                <legend>Выбор элемента УП</legend>
                <p>
                    <span id='div_SPI'>
                        <input id="StudyPlanItem" type="text" readonly="readonly" value="Выберите элемент учебного плана..." size="140" />
                        <input id="SPIhidden" type="hidden" value="" />
                    </span>&nbsp;&nbsp;&nbsp;&nbsp;
                    <button type="button" id="btn_chooseSPI">Выбрать элемент УП
                    </button>
                </p>
            </fieldset>
        </div>
        <div id='subWraper'>
            <div id='chooseSPIList'>
                <fieldset>
                    <legend>Объединить элементы УП</legend><br />
                    <ul id="checkboxChooseSPI">
                    </ul><br />
                </fieldset>
            </div>
            <div id='chooseGroups'>
                <fieldset>
                    <legend>Выберите группы для раскладки</legend><br />
                    <ul id="checkboxChooseGroups">
                    </ul><br />
                </fieldset>
            </div>
        </div>
        <div id='getFactors'>
            <fieldset>
                <legend>Задайте значения коэффициентов</legend>
                <br />
                <div class='factor'>
                    <input class="text-box single-line"  id="RatingFactor" name="RatingFactor" type="text" value="@Model.RatingFactor" />
                    <label for="RatingFactor">
                        &nbsp;&nbsp;&nbsp;&nbsp;Коэффициент для рассчета рейтинга
                    </label>
                </div>
                <div class='factor'>
                    <input class="text-box single-line" id="FactorForControl" name="FactorForControl" type="text" value="@Model.FactorForControl" />
                    <label for="FactorForConsultation">
                        &nbsp;&nbsp;&nbsp;&nbsp;Коэффициент для рассчета нагрузки контроля
                    </label>
                </div>
                <div class='factor'>
                    <input class="text-box single-line" id="FactorForConsultation" name="FactorForConsultation" type="text" value="@Model.FactorForConsultation" />
                    <label for="FactorForConsultation">
                        &nbsp;&nbsp;&nbsp;&nbsp;Коэффициент для рассчета количества консультаций
                    </label>
                </div>
                <div class='factor'>
                    <input class="text-box single-line" id="FactorForBeforeExamConsultation" name="FactorForBeforeExamConsultation" type="text" maxlength="7" value="@Model.FactorForBeforeExamConsultation" />
                    <label for="RatingFactor">
                        &nbsp;&nbsp;&nbsp;&nbsp;Коэффициент для рассчета количества предэкзаменационных
                        консультаций
                    </label>
                </div>
                <br />
            </fieldset>
        </div>
        <div id='chooseDivision'>
            <div id='paramsDivPractice'>
                <fieldset>
                    <legend>Параметры нагрузки практик</legend><br />
                    <div class='factor'>
                        <input type='radio' name='radioPractice' id='div_prac_0' value="allGroups" />
                        <label for="div_prac_0">&nbsp;&nbsp;Одна пара на все группы</label>
                    </div>
                    <div class='factor'>
                        <input type='radio' name='radioPractice' id='div_prac_1' checked="checked" value="oneGroup" />
                        <label for="div_prac_1">&nbsp;&nbsp;Одна пара на одну группу</label>
                    </div>
                    <div class='factor'>
                        <input type='radio' name='radioPractice' id='div_prac_2' value="halfGroup" />
                        <label for="div_prac_2">&nbsp;&nbsp;Одна пара на подгруппу</label>
                    </div><br />
                </fieldset>
            </div>
            <div id='paramsDivLabs'>
                <fieldset>
                    <legend>Параметры нагрузки лабораторных</legend><br />
                    <div class='factor'>
                        <input type='radio' name='radioLab' id='div_lab_0' value="allGroups" />
                        <label for="div_lab_0">&nbsp;&nbsp;Одна пара на все группы</label>
                    </div>
                    <div class='factor'>
                        <input type='radio' name='radioLab' id='div_lab_1' checked="checked" value="oneGroup" />
                        <label for="div_lab_1">&nbsp;&nbsp;Одна пара на одну группу</label>
                    </div>
                    <div class='factor'>
                        <input type='radio' name='radioLab' id='div_lab_2' value="halfGroup" />
                        <label for="div_lab_2">&nbsp;&nbsp;Одна пара на подгруппу</label>
                    </div><br />
                </fieldset>
            </div>
        </div>
        <div id="divButtons">
            <button type="submit" id="btn_create">Создать</button>&nbsp;&nbsp;&nbsp;&nbsp;
            <button type="button" id="btn_cancel">Отмена</button>
        </div>
        @*Модальное окно для выбора элемента УП*@
        <div id="dialog_chooseSPIForm" title="Выберите элемент учебного плана">
            <p>
                Направление: @Html.DropDownList("curentDirection")
            </p>
            <fieldset>
                <legend>Выберите элемент учебного плана</legend>
                <div id='tbl_SPIList'>
                    @Html.StudyPlanItemTable(Model.StudyPlanItems)
                </div>
            </fieldset>
        </div>
    </div>
</form>
</fieldset>